package aiP.A2.Persistenz;

import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import java.math.BigDecimal;

/**
 * Created with IntelliJ IDEA.
 * User: mizus
 * Date: 06.05.14
 * Time: 15:14
 * To change this template use File | Settings | File Templates.
 */
@javax.persistence.Table(name = "AI_BAUTEIL", schema = "HR", catalog = "")
@Entity
public class AiBauteilEntity {
    private BigDecimal id;
    private String name;
    private Double gewicht;
    private Double preis;
    private String komplex;
    private AiAngebotEntity ID_AngebotsVolumen;
    private AiAuftragEntity ID_AuftragsVolumen;

    @javax.persistence.Column(name = "ID")
    @Id
    public BigDecimal getId() {
        return id;
    }

    public void setId(BigDecimal id) {
        this.id = id;
    }

    @javax.persistence.Column(name = "NAME")
    @Basic
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @javax.persistence.Column(name = "GEWICHT")
    @Basic
    public Double getGewicht() {
        return gewicht;
    }

    public void setGewicht(Double gewicht) {
        this.gewicht = gewicht;
    }

    @javax.persistence.Column(name = "PREIS")
    @Basic
    public Double getPreis() {
        return preis;
    }

    public void setPreis(Double preis) {
        this.preis = preis;
    }

    @javax.persistence.Column(name = "KOMPLEX")
    @Basic
    public String getKomplex() {
        return komplex;
    }

    public void setKomplex(String komplex) {
        this.komplex = komplex;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        AiBauteilEntity that = (AiBauteilEntity) o;

        if (gewicht != null ? !gewicht.equals(that.gewicht) : that.gewicht != null) return false;
        if (id != null ? !id.equals(that.id) : that.id != null) return false;
        if (komplex != null ? !komplex.equals(that.komplex) : that.komplex != null) return false;
        if (name != null ? !name.equals(that.name) : that.name != null) return false;
        if (preis != null ? !preis.equals(that.preis) : that.preis != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = id != null ? id.hashCode() : 0;
        result = 31 * result + (name != null ? name.hashCode() : 0);
        result = 31 * result + (gewicht != null ? gewicht.hashCode() : 0);
        result = 31 * result + (preis != null ? preis.hashCode() : 0);
        result = 31 * result + (komplex != null ? komplex.hashCode() : 0);
        return result;
    }

    @ManyToOne
    public AiAngebotEntity getID_AngebotsVolumen() {
        return ID_AngebotsVolumen;
    }

    public void setID_AngebotsVolumen(AiAngebotEntity ID_AngebotsVolumen) {
        this.ID_AngebotsVolumen = ID_AngebotsVolumen;
    }

    @ManyToOne
    public AiAuftragEntity getID_AuftragsVolumen() {
        return ID_AuftragsVolumen;
    }

    public String toString(){
        String tmp = "";
        if (komplex.equals("1"))
              tmp  = "komplex";
        return "ArtikelID: " + getId() + " Name: " + getName() + " Preis: " + getPreis() + " € " + tmp;
    }

    public void setID_AuftragsVolumen(AiAuftragEntity ID_AuftragsVolumen) {
        this.ID_AuftragsVolumen = ID_AuftragsVolumen;
    }
}
